home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1991: Code Warrior / bincue / Code Warrior.bin / Tools & Apps (Moof!) / OS⁄Toolbox / Apple Events / Apple Events Development Tools / Object Support Library / Read Me < prev   
Encoding:
Text File  |  1991-06-12  |  1.6 KB  |  32 lines  |  [TEXT/MPS ]

  1. Undocumented feature note:
  2.  
  3. Since the Developer note on the Object Support Library was written,
  4. we have added a new feature that we hope developers will find useful.
  5. The code implementing AEResolve has been modified so that it can 
  6. pass you the descriptor that was responsible for an error when one
  7. occurs.
  8.  
  9. To use this feature, you pass the address of a routine with the
  10. following interface as the last parameter to AESetObjectCallbacks:
  11.  
  12. FUNCTION MyGetErrDescProc( VAR errDescPtr: DescPtr ) : OSErr ;
  13.  
  14. The library will call this routine once shortly after you call
  15. AEResolve, and will write a null descriptor to the address your
  16. routine returns.  If an error occurs during the resolution of the
  17. object specifier, the library will call your routine again and
  18. write the descriptor -- often an object specifier -- it was working
  19. on when the error occurred to the address your routine returns.
  20.  
  21. Normally you will want to maintain a single global variable of type
  22. AEDesc whose address your MyGetErrDesc routine returns no matter how
  23. many times it is called.  Be careful if you follow any other model:
  24. when recovering from an error, the library will never write to the
  25. address you provide unless it contains a null descriptor.  Thus you
  26. will need to write null descriptors into any addresses you pass that
  27. are different from the address you returned the first time your
  28. routine was called after a given call to AEResolve.
  29.  
  30. Like the rest of the non-accessor callbacks, your GetErrDesc proc can
  31. also be installed and removed using the Apple Event Manager's
  32. SpecialHandler routines.  Use the keyword keyAEGetErrDescProc.